package com.wulin.learning.lambda.优雅判空;

import java.util.Date;
import java.util.Optional;

/**
 * @author liuwulin
 * @date 2023/10/18-17:36
 * @DESC
 */
public class OptionalTest {
//    public static void main(String[] args) {
//        Integer aaa = null;
////        //1.创建Optional对象，如果参数为空直接抛出异常
//        Optional<Integer> str=Optional.of(aaa);
////        //2.获取Optional中的数据,如果不存在，则抛出异常
////        System.out.println(Optional.of("a").get());
////
////        //3.optional中是否存在数据
////        System.out.println(Optional.of("a").isPresent());
//
//        //4.获取Optional中的值，如果值不存在，返回参数指定的值
////        System.out.println(Optional.of(null).orElse(createUser()));
//
////        System.out.println(Optional.of(null).orElse("222"));
////
////        System.out.println(Optional.of(null).orElseGet(() ->{
////            System.out.println(111);
////            return "123";
////        }));
//
////        //5.获取Optional中的值，如果值不存在，返回lambda表达式的结果
////        System.out.println(str.orElseGet(()->new Date().toString()));
////
////        //6.获取Optional中的值，如果值不存在，抛出指定的异常
//        System.out.println(str.orElseThrow(()->new RuntimeException()));
////
////        Optional<String> str2=Optional.ofNullable(null);
////        //7.optional中是否存在数据
////        System.out.println(str2.isPresent());
////
////        //8.获取Optional中的值，如果值不存在，返回参数指定的值
////        System.out.println(str2.orElse("b"));
////
////        //9.获取Optional中的值，如果值不存在，返回lambda表达式的结果
////        System.out.println(str2.orElseGet(()->new Date().toString()));
////
////        //10.获取Optional中的值，如果值不存在，抛出指定的异常
////        System.out.println(str2.orElseThrow(()->new RuntimeException()));
//    }





}
